package test_util

import (
	"fmt"
	_ "gfrest/web/boot"

	"github.com/gogf/gf/container/garray"
	"github.com/gogf/gf/frame/g"
)

// IsStrSliceEleSame 元素相同， 顺序不同
func IsStrSliceEleSame(src, dst []string) bool {
	if len(src) != len(dst) {
		return false
	}
	gsrc := garray.NewStrArrayFrom(src)
	gdst := garray.NewStrArrayFrom(dst)
	gsrc = gsrc.Sort()
	gdst = gdst.Sort()
	// g.Dump("gsrc", gsrc)
	// g.Dump("gdst", gdst)
	for ii := range gsrc.Range(0) {
		item1, _ := gsrc.Get(ii)
		item2, _ := gdst.Get(ii)
		if item1 != item2 {
			fmt.Println("src, ", g.Export(src))
			fmt.Println("dst, ", g.Export(dst))
			return false
		}
	}
	return true

}

// IsIntSliceEleSame 元素相同， 顺序不同
func IsIntSliceEleSame(src, dst []int) bool {
	if len(src) != len(dst) {
		return false
	}
	gsrc := garray.NewIntArrayFrom(src)
	gdst := garray.NewIntArrayFrom(dst)
	gsrc = gsrc.Sort()
	gdst = gdst.Sort()
	// g.Dump("gsrc", gsrc)
	// g.Dump("gdst", gdst)
	for ii := range gsrc.Range(0) {
		item1, _ := gsrc.Get(ii)
		item2, _ := gdst.Get(ii)
		if item1 != item2 {
			return false
		}
	}
	return true

}
